csswidgetnode: Don't check for container
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Fri, 8 May 2020 13:51:54 +0000 (10:51 -0300)
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Fri, 8 May 2020 13:57:41 +0000 (10:57 -0300)
The conditions to queue and dequeue a CSS validation
are different; while queueing checks if the widget is
a root, dequeueing checks that AND if the widget is
a container.

GtkWindow is not a GtkContainer anymore, and that is
causing validations to be queued, but never dequeued.

Don't require the widget to be a GtkContainer for
dequeuing.

gtk/gtkcsswidgetnode.c

index ec49fbeea7ae28c9ba1772302600286566df3e70..fcc7682832c0059029dc26d5b2b3c31a1cdb8612 100644 (file)
@@ -68,9 +68,7 @@ gtk_css_widget_node_dequeue_validate (GtkCssNode *node)
 {
   GtkCssWidgetNode *widget_node = GTK_CSS_WIDGET_NODE (node);
 
-  if (widget_node->widget &&
-      GTK_IS_ROOT (widget_node->widget) &&
-      GTK_IS_CONTAINER (widget_node->widget))
+  if (widget_node->widget && GTK_IS_ROOT (widget_node->widget))
     gtk_widget_remove_tick_callback (widget_node->widget,
                                      widget_node->validate_cb_id);
 }